#include <QDialog>
namespace Ui
{
    class ConfigEdit;
}
namespace google::protobuf{
    class Message;
}
namespace xmsg {
    class XConfig;
}

class ConfigEdit : public QDialog
{
    Q_OBJECT
public:
    explicit ConfigEdit(QWidget *parent = nullptr);
    // 从配置中心加载配置信息并生成界面
    bool LoadConfig(const char*ip,int port);
signals:
    void AddLog(const char* log);
    void MessageCBSig(bool is_ok,const char*msg);
protected slots:
    void onBtnSaveClick();
    void LoadProto();
private:
    void InitUi();
    Ui::ConfigEdit* ui=nullptr;
    int config_row_count_ = 0;
    // 用于存储配置项，内存有由XConfigClient管理
    google::protobuf::Message*message_=nullptr;
    xmsg::XConfig* config_=nullptr;
};
